package com.starhub.domain.knowledge.dto;

import java.time.LocalDateTime;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * rag调用的dto对象
 * @version: V1.0
 * @author: liuhf
 * @time 2025-06-05
 */
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Data
public class KnowledgeItemDto {
    
    //来源KnowledgeItem的数据，向量化时需要，搜索时不需要
    private Long id;
    private String name;
    private String title;
    private String summary;
    private String content;
    private String answerContent;
    private Boolean isEmbedded;
    private Long creatorId;
    private LocalDateTime createTime;
    private LocalDateTime updateTime;
    private Long collectionId;
    private Long baseId;
    private Boolean deleteType;

    //来源其他表的数据，永远必填

    /**
     * 向量模型类型
     */
    private String chartType;
    /**
     * 向量模型标识,来自知识库
     */
    private String vectorModel;
    
    /**
     * 向量维度，来自知识库
     */
    private int dimension;

    /**
     * 知识库类型，来自知识库
     */
    private String baseType;

    /**
     * 分割策略 0-默认策略 1-自定义策略  ，来自知识库
     */
    private Integer splitStrategy;

    /**
     * 最大段落大小，来自知识库
     */
    private Integer maxParagraphSize;

    /**
     * 最大重叠大小，来自知识库
     */
    private Integer maxOverlapSize;

    /**
     * 表标识,来自知识库表
     */
    private String collectionIdentifier;
}
